'use strict';

angular.module('myApp.directive', [])

.directive('directive1', function() {
  return function(scope, elm, attrs) {
    elm.html("<br>directive1我是html");
  };     
})

.directive('directive2', function() {
	  return{
	  	link : function(scope, elm, attrs) {
		    elm.html("<br>directive2我是html" + attrs.speak);
		}
	  }    
});



// 　　指令的几种使用方式如下：
// 　　作为标签：<my-dir></my-dir>
// 　　作为属性：<span my-dir="exp"></span>
// 　　作为注释：<!-- directive: my-dir exp -->
// 　　作为类名：<span class="my-dir: exp;"></span>

// var directiveDefinitionObject = {

//     restrict: string,//指令的使用方式，包括标签，属性，类，注释

//     priority: number,//指令执行的优先级

//     template: string,//指令使用的模板，用HTML字符串的形式表示

//     templateUrl: string,//从指定的url地址加载模板

//     replace: bool,//是否用模板替换当前元素，若为false，则append在当前元素上

//     transclude: bool,//是否将当前元素的内容转移到模板中

//     scope: bool or object,//指定指令的作用域

//     controller: function controllerConstructor($scope, $element, $attrs, $transclude){...},//定义与其他指令进行交互的接口函数

//     require: string,//指定需要依赖的其他指令

//     link: function postLink(scope, iElement, iAttrs) {...},//以编程的方式操作DOM，包括添加监听器等

//     compile: function compile(tElement, tAttrs, transclude){

//         return: {

//             pre: function preLink(scope, iElement, iAttrs, controller){...},

//             post: function postLink(scope, iElement, iAttrs, controller){...}

//         }

//     }//编程的方式修改DOM模板的副本，可以返回链接函数

// };

// return directiveDefinitionObject;
